Metadata-Version: 2.1
Name: big-O-calculator
Version: 0.0.2
Summary: A calculator to predict big-O of sorting functions
Home-page: https://github.com/Alfex4936
Author: Seok Won
Author-email: tjrdnjs33936@gmail.com
License: MIT
Description: # Big-O Caculator
        
        A big-O calculator to estimate time complexity of sorting functions.
        
        inspired by : https://github.com/ismaelJimenez/cpp.leastsq
        
        # Usage
        
        You can call which array to test
        
        ```py
        Big-O calculator
        
        Args:
            functionName ([string]): function name to call
            array ([string]): "random", "sorted", "reversed", "partial"
          
        ```
        
        ```py
        from bigO import bigO
        
        def countSort(arr):  # stable
            # Time Complexity : O(n) | Space Complexity : O(n)
            sortedArr = arr[:]
            minValue = min(arr)
            maxValue = max(arr) - minValue
        
            buckets = [0 for x in range(maxValue + 1)]
        
            for i in sortedArr:
                buckets[i - minValue] += 1
        
            index = 0
            for i in range(len(buckets)):
                while buckets[i] > 0:
                    sortedArr[index] = i + minValue
                    index += 1
                    buckets[i] -= 1
        
            return sortedArr
        
        
        tester = bigO.bigO()
        complexity, _ = tester.test(countSort, "random")
        complexity, _ = tester.test(countSort, "sorted")
        complexity, _ = tester.test(countSort, "partial")
        
        ''' Result
        Running countSort(random array)...
        Completed countSort(random array): O(N)
        Running countSort(sorted array)...
        Completed countSort(sorted array): O(N)
        Running countSort(partial array)...
        Completed countSort(partial array): O(N)
        '''
        ```
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3
Description-Content-Type: text/markdown
